Frame structure for an adaptive modulation wireless communication system

ABSTRACT

A method of simplifying the encoding of a predetermined number of bits of data into frames including adding error coding bits so that a ratio of the frame length times the baud rate of the frame times the bit packing ratio of the data divided the total bits of data is always an integer. The method may also convolutionally encode the bits of data so that the same equation is also always an integer.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/395,347, filed Feb. 27, 2009; which is a continuation of U.S.application Ser. No. 10/962,957 filed Oct. 12, 2004, now issued as U.S.Pat. No. 7,519,023 issued on Apr. 14, 2009; which is a divisional ofU.S. application Ser. No. 09/365,917 filed Aug. 3, 1999, now issued asU.S. Pat. No. 6,804,211 issued on Oct. 12, 2004, all of which areincorporated herein by reference in their entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to frame structures for communication systems andmore particularly to frame structures for adaptive modulation wirelesscommunication systems.

2. Description of Related Art

A wireless communication system facilitates two-way communicationbetween a plurality of customer premises equipment (“CPE”) and a networkinfrastructure. Exemplary systems include mobile cellular telephonesystems, personal communication systems (PCS), and cordless telephones.The objective of these wireless communication systems is to providecommunication channels on demand between the users connected to a CPEand a base station in order to connect the user of a CPE with a networkinfrastructure (usually a wired-line system). In multiple accesswireless schemes, the basic transmission unit is commonly frames oftime. The frames are commonly divided into a plurality of time slots.The time slots of the frames may hold different kinds of data includingcontrol data and user information or data. In order to manage the use ofthe time slots of a frame, the time slots may be assigned or allocatedto one or more CPEs. In this case, a CPE receiving or having anallocation of time slots may parse the allocation of the slots betweenone or more users associated with the CPE. CPEs typically communicatewith a base station using a “duplexing” scheme that allows for theexchange of information in both directions of connection. In thisscheme, the time slots of each frame may be allocated to data beingtransmitted from a base station to CPEs and to data being transmittedfrom CPEs to a base station.

Transmissions from a base station to a CPE are commonly referred to as“downlink” transmissions. Transmissions from a CPE to a base station arecommonly referred to as “uplink” transmissions. Prior art wirelesscommunication systems typically employ time division duplexing (TDD) tofacilitate the exchange of information between base stations and CPEswhere TDD is well known in the art. In TDD systems, duplexing oftransmissions between a base station and associated CPEs is performed inthe time domain. Further, the CPEs typically communicate with theirassociated base station with signals having a specific pre-defined radiofrequency. In TDD systems, the bandwidth or channel of the signal istime-divided into frames having repetitive time periods or time “slots”.The time slots are employed for uplink and downlink transmissionsbetween the base station and associated CPEs.

When a wireless system is implemented in a region, the region iscommonly divided into cells with a base station located within eachcell. Each base station in a cell of the wireless system ideallyprovides communication between CPEs located in the cell. The size orconfiguration of a cell is generally determined as a function of thephysical location of the base station, the location of buildings andother physical obstructions within the cell. The maximum bit per symbolrate modulation scheme that may be employed with a cell may be limiteddue to channel interference and the implementation or modem complexityof CPEs within the cell. Channel interference may occur between adjacenttime slots assigned to different CPEs within a cell due to distortion ofsignals between the base station in the cell and the CPEs. The signalsare commonly distorted by destructive multi-path replication of thesignals (where the signals are reflected off physical objects in thecell). In addition, the signals are commonly distorted by atmosphericconditions (such as rain). Thus, in order to have duplex communicationsbetween all CPEs associated with a base station in a cell, a modulationscheme having a bit per symbol rate that enables communication betweenall CPEs associated with the base station is selected.

It is noted, however, that the channel interference between CPEs and abase station varies for each CPE, e.g., as a function of the physicalbarriers between the base station and the CPE. Consequently, the maximumbit per symbol rate modulation scheme (i.e., having acceptable errorrates given the channel interference) that may be used to communicatebetween each CPE and the base station may vary. In addition, theimplementation or modem complexity of the CPEs associated with the basestation may also vary where some CPEs may be able to support higher bitper symbol rate modulation schemes than others associated with the basestation. Accordingly, the selection of one low bit per symbol ratemodulation scheme for all CPEs where some CPEs may support a higher bitper symbol rate modulation in a cell may not maximize bandwidthutilization. The use of different or variable bit per symbol ratemodulation schemes for different CPEs associated with a cell mayincrease bandwidth utilization. Unfortunately, variable bit per symbolrate modulation is not used for communication between base stations andassociated CPEs due to its complexity. In particular, variable bit persymbol rate modulation schemes normally require complex CPE demodulatorswhere some CPEs may already have limited implementation or modemcomplexity. The need thus exists for frame structures and frameconstruction techniques that enable variable bit per symbol ratemodulation for CPEs and base stations within a cell that does notincrease the complexity of CPEs. The present invention provides such aframe structure and frame construction techniques.

SUMMARY OF THE INVENTION

The present invention includes a method that orders or assigns downlinktime slots based on the complexity of the modulation data to be storedin the downlink time slots. Preferably, the downlink time slots aresorted from the least complex modulation scheme to the most complexmodulation scheme. In one embodiment, the method assigns portions of atleast two downlink time slots to at least two receiving units where themodulation scheme employed by the at least two units may vary. Themethod first determines the complexity of the modulation scheme employedby the at least two units. Then the method assigns portions of the atleast two time slots to the at least two units based on the complexityof the modulation scheme they employ. As noted, ideally, portions of theat least two downlink time slots are assigned from the least complexmodulation scheme to the most complex modulation scheme. In otherembodiments, the method may first order the at least two units as afunction of the complexity of the modulation scheme they employ. Thenthis method may assign portions of the at least two time slots based onthe order of the at least two units.

The method may further order uplink time slots of a frame based on thecomplexity of the modulation data to be stored in the uplink time slots.Preferably, the uplink time slots are also sorted from the least complexmodulation scheme to the most complex modulation scheme. In oneembodiment, the method assigns at least two uplink time slots to atleast two transmitting units where the modulation scheme employed by theat least two transmitting units may vary. The method first determinesthe complexity of the modulation scheme employed by the at least twotransmitting units. Then the method assigns the at least two time slotsto the at least two transmitting units based on the complexity of themodulation scheme they employ. As noted, ideally, the at least twouplink time slots are assigned from the least complex modulation schemeto the most complex modulation scheme. In other embodiments, the methodmay first order the at least two transmitting units as a function of thecomplexity of the modulation scheme they employ. Then this method mayassign the at least two uplink time slots based on the order of the atleast two transmitting units.

The present invention also includes a method that orders downlink timeslots based on the bit per symbol rate of the modulation scheme employedto generate the data to be stored in the downlink time slots.Preferably, the downlink time slots are sorted from the lowest bit persymbol rate modulation scheme to the highest bit per symbol ratemodulation scheme. In one embodiment, the method assigns portions of atleast two downlink time slots to at least two receiving units where thebit per symbol rate modulation scheme employed by the at least two unitsmay vary. The method first determines the bit per symbol rate of themodulation schemes employed by the at least two units. Then the methodassigns portions of the at least two time slots to the at least twounits based on the bit per symbol rate modulation schemes they employ.As noted, ideally, portions of the at least two downlink time slots areassigned from the lowest bit per symbol rate to the highest bit persymbol rate. In other embodiments, the method may first order portionsof the at least two units as a function of the bit per symbol rate ofthe modulation schemes they employ. Then this method may assign portionsof the at least two time slots based on the order of the at least twounits.

The method may further order uplink time slots of a frame based on thebit per symbol rate of the modulation scheme employed to generate thedata to be stored in the uplink time slots. Preferably, the uplink timeslots are also sorted from the lowest bit per symbol rate to the highestbit per symbol rate. In one embodiment, the method assigns at least twouplink time slots to at least two transmitting units where the bit persymbol rate of the modulation scheme employed by the at least twotransmitting units may vary. The method first determines the bit persymbol rate of the modulation scheme employed by the at least twotransmitting units. Then the method assigns the at least two time slotsto the at least two transmitting units based on the bit per symbol rateof the modulation scheme they employ. As noted, ideally, the at leasttwo uplink time slots are assigned from the lowest bit per symbol ratemodulation scheme to the highest bit per symbol rate modulation scheme.In other embodiments, the method may first order the at least twotransmitting units as a function of the bit per symbol rate modulationscheme they employ. Then this method may assign the at least two uplinktime slots based on the order of the at least two transmitting units.

The present invention also includes a method of determining the encodingLd bits of data into a frame. The frame has a time length T and theframe is transmitted at a baud rate R. The method first determines themaximum fixed bit per symbol rate of modulation for the Ld bits of data.Then the method adds x error code bits where (R*T*Bi)/(Ld+x) is aninteger where Bi is the bit per symbol rate of the modulation schemeemployed. It is noted that x may have a minimum value based on a minimumblock error rate. Further, the x error code bits may be Reed-Solomonencoded error bits. In other embodiments, the method may determine themaximum bit per symbol rate, Bi of modulation scheme for the Ld bits ofdata. Then the method may add x error code bits where (R*T*Bi)/(Ld+x) isan integer.

In a further embodiment, the method first selects a convolution ratiowhere the selected convolution ratio adds y convolution bits to the Ldbits of data after the convolution encoding of the Ld bits of data. Thenthe method adds x error code bits where (R*T*Bi)/(Ld+x+y) is an integer.It is noted that in this method the convolution ratio may be modified sothat (R*T*Bi)/(Ld+x+y) is an integer. In addition, the number of x errorbits may be selected so that (R*T*Bi)/(Ld+x+y) is an integer.

The present invention also includes a method for determining themodulation scheme of a frame having a plurality of downlink time slotswhere one of the plurality of downlink slots contains controlinformation. In this method the modulation scheme employed to generatethe modulated data for the plurality of downlink time slots may vary foreach of the plurality of downlink slots. In addition, the frame may betransmitted to a plurality of units where each of the plurality of unitsmay support a modulation scheme having a maximum complexity. This methodfirst determines the lowest modulation complexity supported by each ofthe plurality of units. Then the method sets the modulation complexityof the downlink slot of the plurality of downlink slots that containscontrol information to the determined lowest modulation complexity.

In this method, the downlink slot of the plurality of downlink slotsthat contains control information may be the first downlink slot in timeorder of the plurality of downlink slots. In addition, the method mayalso determine the complexity of the modulation scheme employed togenerate the modulated data for at least two units of the plurality ofunits. Then the method may assign at least two time slots of theplurality of time slots to the at least two units based on thecomplexity of the modulation scheme employed to generate the modulateddata for the at least two units. The assignment to the at least twounits may be from the least complex modulation scheme to the mostcomplex modulation scheme.

The present invention also includes a method for setting the values ofweights of finite impulse response filter. In this case, the filterreceives symbols having variable modulation rates and stores a pluralityof the symbols where each stored symbol has a corresponding weight. Themethod first determines when a first symbol is received having amodulation rate different than the last stored symbol. Then the methodchanges the value of the weight that corresponds to the first symbolbased on the modulation rate of the first symbol. The method may furtherinclude receiving a second symbol having a modulation rate the same asthe modulation rate of said first symbol. Followed by changing the valueof the weight that corresponds to the first symbol based on themodulation rate of the first symbol. More generally, the method changesthe value of the weights that correspond to the first symbol based onthe modulation rate of the first symbol as the first symbol propagatesthrough the filter.

The details of the preferred and alternative embodiments of the presentinvention are set forth in the accompanying drawings and the descriptionbelow. Once the details of the invention are known, numerous additionalinnovations and changes will become obvious to one skilled in the art.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an exemplary cell configuration with a basestation and several CPEs associated with the cell.

FIG. 2 is a diagram an exemplary time division duplex (“TDD”) frame inaccordance with the present invention.

FIG. 3 is a flowchart of an exemplary process of assigning time slots ofa TDD frame in accordance with the present invention.

FIG. 4 is a flowchart of an exemplary process of simplifying theconfiguration of data to be inserted into a TDD frame in accordance withthe present invention.

FIG. 5 is a block diagram of an exemplary transmitter for use with thepresent invention.

FIG. 6 is a block diagram of an exemplary receiver for use with thepresent invention.

FIG. 7 is a block diagram of a prior art Finite Impulse Response (“FIR”)filter suitable for use with the present invention.

FIGS. 8A to 8F are diagrams illustrating a method of the invention thatchanges weights of a FIR filter as new symbols propagate through thefilter.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION OF THE INVENTION

Throughout this description, the preferred embodiment and examples shownshould be considered as exemplars, rather than as limitations on thepresent invention.

The present invention includes an improved frame structure and a processof generating a frame structure for use in wireless communicationsystems employing adaptive modulation. Adaptive modulation includesvarying the bit per symbol rate modulation scheme or modulationcomplexity of signals transmitted between a CPE and a base station as afunction of channel interference of the signals or implementation ormodem complexity of the CPE. FIG. 1 is a diagram of an exemplary cell 10that includes a base station 20 located centrally in the cell 10 and aplurality of CPEs 30, 32, 34, 36, 38 associated with the base station.FIG. 1 does not shown buildings or other physical obstructions (such astrees or hills, for example), that may cause channel interferencebetween signals of the CPEs.

As described above, the maximum bit per symbol rate modulation scheme ortechnique or most complex modulation scheme selected for use in the cell10 is normally determined as a function of the channel interferencebetween CPEs and the implementation or modem complexity of the CPEs. Asalso described above, the selection of a single maximum bit per symbolrate modulation technique based on the lowest bit per symbol ratemodulation scheme supported by all CPEs may not optimize bandwidthutilization within the cell 10. In particular, lower channelinterference between some CPEs (such as units 38, 30 for example), maypermit the use of a higher bit modulation technique or more complexmodulation scheme that has an error level below the maximum desirableerror level. Adaptive bit-rate modulation or variable bit-ratemodulation between different CPEs, however, usually requires complextransmitters and receivers in the CPEs where the CPEs may already havelimited implementation or modem complexity.

As noted above, the frame structure is divided into a plurality ofdownlink and uplink slots. Each downlink time slots may be used to storedata to be received by a number of users where a user identifies theirdata by an address or other label. Uplink time slots are commonlyassigned to individual users for transmission of data from the user toanother user or system via the base station. To maximize bandwidthutilization and minimize modulator complexity in the base station andassociates CPEs, the present invention simplifies the configuration ofdata to inserted into the time slots. Briefly, data blocks are ideallyparsed into an integer number of time slots. This process is describedin detail below with reference to FIG. 4. Second, the present invention,orders or sorts the placement of data in the downlink and uplink timeslots are a function of modulation complexity or bit per symbol ratemodulation scheme employed to generate the data to be placed in the timeslots. As described below with reference to FIG. 3, this techniquereduces the complexity of CPE modulators and the number of modulationscheme transitions in a frame.

FIG. 2 is diagram of an exemplary frame structure to be employed in acell that enables adaptive bit per symbol rate modulation schemes to beemployed in a frame structure without increasing the complexity ofreceivers and transmitters of CPEs associated with the cell and reducingthe number of modulation scheme transitions within each frame. As shownin FIG. 2, the frame 80 includes a plurality of time slots. In thisexample there are ten time slots where the first five time slots containdownlink data 82 (from the base station 10), and the remaining five timeslots contain uplink data 84 (to the base station 10 from a CPE). Inthis example, the downlink slots have a modulation bit per symbol rateof DM₁, DM₂, DM₃, and DM₄ where the four downlink time slots areassigned to at least four CPEs where the CPEs will retrieve data locatedin these slots based on their respective assignment. It is noted thatmany CPEs may be assigned to any one downlink time slot where each CPEretrieves its data from such a slot based on an address or identifier.Consequently, a CPE may only retrieve data from only a portion of adownlink time slot.

In addition, the uplink slots have a modulation bit per symbol rate ofUM₁, UM₂, UM₃, and UM₄ where the four uplink time slots are commonlyassigned to four CPEs where the CPEs will insert data in these slotsbased on their respective assignment. It is noted that in someembodiments a CPE may be assigned more than one uplink slot. Further,downlink control information may be located at the start of the downlinktime slots and an unreserved time slot may be located at the beginningof the uplink time slots. It is obviously desirable that any CPEassociated a cell be able to retrieve data located in the downlinkcontrol information time slot regardless of the CPE's location withinthe cell. In addition, each CPE should be able to insert data into theunreserved uplink time slot.

As described above, in an adaptive bit per symbol rate modulation systemthe modulation scheme may vary for each CPE and thus for each downlinkand uplink time slot. In order to minimize the complexity of CPEs andbase stations employed in such a system and reduce the number modulationscheme transitions within a frame, the present invention requires thatDM₁≦DM₂≦DM₃≦DM₄ and UM₁≦UM₂≦UM₃≦UM₄. Thus, ideally, the data in the timeslots is arranged from the least complex modulation scheme to the mostcomplex modulation scheme. As noted, this technique reduces the numberof modulation transitions, which may simplify the implementation of abase station using this frame structure 80. Note this also enables thebase station and CPEs to train on the least complex data, which maylower error rates.

Further, ideally the downlink control information is ideally encodedusing the least complex modulation scheme of the system and theinformation placed in the unreserved uplink time slot is also encodedusing the least complex modulation scheme of the system. This ensuresthat every CPE associated with the cell will be able to receive orencode information within desirable error levels. Ideally, the controlinformation indicates where the modulation transitions occur within theframe. An exemplary process 90 of assigning time slots of frame 80 asshown in FIG. 2 is presented with reference to FIG. 3.

As shown in FIG. 3, the first step, 92 of the process 90 includesdetermining which CPEs will receive at least one time slot in the nextframe. In duplex systems, as described above, a CPE receiving data in adownlink time slot may also transmit data in an uplink time slot. Inother systems, such as point to multi-point or multi-cast systems, theremay be more downlink time slots than uplink time slots. Then (in step94) the most complex modulation scheme or maximum bit per symbol rate ofthe modulation scheme employed by the CPE is determined for each CPE. Asstated above, the most complex modulation scheme or maximum bit persymbol rate modulation scheme may be determined as a function of channelinterference of signals of a CPE and the maximum desirable error leveland the implementation or modem complexity of the CPE.

In a preferred embodiment, Binary Phase Shift Keying (“BPSK”) modulationmay be selected for the least complex modulation scheme. In BPSK, thebit per symbol rate, B_(I) of the modulation scheme is one, i.e., eachsymbol represents one bit. B_(I) could also be called the modulationscheme efficiency, i.e., how efficient the scheme encodes data. AQuadrature Amplitude Modulation (QAM) of four may be used for anintermediate modulation scheme. In QAM 4, the bit per symbol rate, B_(I)of the modulation scheme is two, i.e., each symbol represents two bits.Higher quadrature amplitude modulations may be used for more complexmodulation schemes, e.g., QAM 64 where the bit per symbol rate, B_(I) ofthe modulation scheme is six, i.e., each symbol represents six bits. Themodulation complexity or bit per symbol rate modulation scheme may bemodified from frame to frame or remain constant for a plurality offrames for a particular CPE. Further, a CPE may select or indicate adesired modulation complexity or scheme.

Upon determination of the modulation complexity or bit per symbol ratemodulation scheme to be used to encode data for each of the CPEs, instep 96 the CPEs are sorted in ascending order based on the selectedmodulation complexity or bit per symbol rate modulation scheme, i.e.,from the lowest bit per symbol rate modulation scheme to the highest bitper symbol rate modulation scheme or least complex modulation scheme tothe most complex modulation scheme. Finally, the time slots of a frameare allocated or assigned to the CPEs in their sorted order from thelowest bit per symbol rate modulation scheme to the highest bit persymbol rate modulation scheme or from the least complex modulationscheme to the most complex modulation scheme. As noted above, frames areconstructed using this process to reduce the complexity of base stationsand CPEs that insert or retrieve data therefrom. It is noted that eventhough modulation schemes may vary from CPE to CPE, the number ofsymbols to be transmitted in bursts is usually fixed to a predeterminednumber n×S for all CPEs regardless of their modulation scheme.

It is desirable to simplify the configuration of time slots given fixedbursts of a group of symbols n×S and variable modulation schemes. It isnoted that the modulation of L bits generates a fixed number of symbolsS where S=(L/B₁) and B₁ is the bits per symbol rate of the modulationscheme. To simplify time slot usage and bandwidth management, (L/B₁) orS is ideally an integer multiple of length of the time slot T_(s) timesthe baud rate R of the frame. Thus, ideally L bits fit into an integernumber of time slots T_(s) based on the modulation scheme. Note eachframe has a fixed number of time slots where the length of the frame(and thus the number of time slots) is determined a function of amaximum desirable delay T_(D) between signal transmissions and the baudrate R (symbols transmitted per second) of the system. Accordingly foreach frame the number of symbols transmitted is equal to T_(D)*R. It isdesirable that the number of symbols n×S or (L/B₁) is an integermultiple of the number of symbols transmitted per frame. Thus, it isdesirable that the ratio (T_(D)*R)/(L/B₁) is an integer. When the ratio(T_(D)*R)/(L/B₁) is an integer then a fixed number of bursts of n×Ssymbols may be transmitted in each frame. This may simplify frame usageand bandwidth management.

In most systems, the L bits of data represent an encoded signal thatincludes overhead or Forward Error Correction (“FEC”) information whereonly L_(D) of the L bits are pure data to be transmitted to a unit orbase station. In these systems the number of data bits L_(D) to betransmitted in a burst may be fixed, e.g., 256, 512, or 1024 bits. TheFEC information commonly includes convolutional encoding bits and blockcodes including error correction encoding bits such as Reed-Solomon(RS(n,k)) data. In other embodiments, the convolutionally encoded datamay also be interleaved prior to error encoding. Given that T_(D), R,and S are fixed due to system constraints and B₁ is selected as afunction of channel interference and modem or implementation complexity,L is ideally modified to simplify the time slot configuration or thebandwidth management of a frame. As noted, L_(D) may also be fixed in asystem. In such a system L would be determined for each possiblemodulation scheme of the system. FIG. 4 is a flowchart of a preferredprocess 60 of configuring or determining L based on T_(D), R, and B₁ forthe transmission of data by a unit or a base station so that frame usageis simplified.

As shown in FIG. 4, the first step, 62 of the process 60 determines themaximum allowable delay T_(D) of the system. As noted above, the delayT_(D) is set equal to the largest acceptable delay between transmissionsof signals between CPEs or units and the base station. In step 64 themaximum bit per symbol rate modulation scheme or most complex modulationscheme that may be employed for the transmission of the L_(D) bits isdetermined or selected (the process of which was described above.) Thenin step 66 a convolution ratio (x/y) is selected for the L_(D) databits. In some embodiments no convolutional encoding is employed. In suchembodiments, the ratio of (x/y) is set to 1. The convolutional ratio(x/y) is one of the parameters that may be modified to change the numberof bits required to encode the L_(D) bits of data. At step 68, the othervariable parameter, the error encoding level is selected. A block codeis used to reduce the Block Error Rate (“BER”) of the L_(D) bits of datato a desirable level. In a preferred embodiment, a Reed-Solomon (“RS”)block code is used. The number of bits L required to encode the L_(D)bits of data is thus set by the selection of the convolutional ratio(x/y) and the error code level.

At step 72, the value of the ratio Z of (T_(D)*R)/(L/B_(I)) isdetermined. The baud rate R is fixed, the delay T_(D) was determined atstep 62, B₁ is determined at step 64, and L is determined as function ofthe parameters selected at steps 66 and 68. When it is determined atstep 74 that the ratio Z is not integer, a different convolutional ratio(at step 66) or the error code level (at step 68) may be selected. In apreferred embodiment, the selection of the convolutional ratio and theerror code level is varied as a function of the fractional remainder ofthe ratio Z, i.e., a convergence algorithm may be employed. As notedabove, in some embodiments the convolution ratio is fixed to 1. In suchembodiments, only the error code or block code level is modified. Inorder to ensure that the ratio Z is an integer, the number of bits usedto generate the block code of data may be greater than necessary to meetthe minimum BER. When at step 74, the ratio Z is determined to be aninteger, then the process is complete and the block of L bits isoptimized or simplified for the modulation scheme or bit per symbol rateB₁.

A transmitter 40 and receiver 50 that may employed to transmit andreceive frames of data in accordance with the present invention ispresented with reference to FIGS. 5 and 6. FIG. 5 is a block diagram ofan exemplary transmitter 40. As shown in this FIGURE, the transmitter 40includes a convolutional encoder 42, block encoder 44, M-ary Modulator46, frame constructor 48, and up-converter 49. The transmitter 40receives the L_(D) bits of data and encodes the data to generate L bitsof data, packs the L bits of data into a frame and upconverts the frameof data to a transmission frequency. The convolutional encoder 42 andblock coder 44 supply the FEC data that converts the L_(D) bits of datainto L bits of data. In particular, the convolutional encoder 42 usesthe selected ratio (x/y) to encode the L_(D) bits of data. The blockcoder uses the selected code level to encode the convoluted data toproduce the encoded L bits of data to be transmitted to a base stationor unit.

Then, the M-ary modulator converts the L bits of data into the n×Ssymbols based on the selected bit per symbol rate B₁. Due to theselection of the convolution ratio and error code level, the n×S symbolscan be inserted into an integer number of times slots of a frame. Theframe constructor 48 ideally inserts the n×S symbols into time slots ofa frame based on the process presented with reference to FIG. 3 above,i.e., in order of the modulation scheme (from least complex to the mostcomplex modulation scheme). Up-converter 49 frequency shifts the packedframe of data to a frequency suitable for transmission between a CPE orunit and base station based on techniques known to those of skill in theart.

The receiver 50 shown in FIG. 6 converts the frequency shifted frame ofdata back into groups of L_(D) bits of data. As shown in FIG. 6, thereceiver 50 includes a down-converter 59, frame deconstructor 58, M-arydemodulator 56, block decoder 54, and convolutional decoder 52. Thedown-converter 59 frequency shifts the received signal back to basebandusing techniques known to those of skill in the art. The framedeconstructor separates the frame into groups of n×S symbols forprocessing by the remaining components of the receiver 50. When thereceiver 50 is part of a subscriber unit, the frame deconstructorselects one of the groups of n×S symbols where the data is directed tothe subscriber unit. Block decoder 54 decodes the n×S symbols usingtechniques known to those of skill in the art. Then, the convolutionaldecoder decodes the data to produce L_(D) bits of data.

The techniques and systems presented above may be modified while stillfalling within the scope of the appended claims. For example, symbolshaping may also be employed in a preferred embodiment to avoid spectrumspillage due to possible abrupt changes in modulation schemes in a frameas described above. Symbol shaping is commonly accomplished by filteringthe n×S symbols via a Finite Impulse Response (“FIR”) filter where anexemplary prior art FIR filter 60 is shown in FIG. 7. As shown in FIG.7, the FIR filter 60 includes k multipliers and a summation node 66.Symbols S are received sequentially and stored in filter taps T0 to Tk62. Each multiplier 64 has a tap weight W0 to Wk and tap T0 to Tkassociated with a symbol stored in the taps 62. As can be seen from FIG.7, the FIR filter 60 generates an output, y having the form

$y = {\sum\limits_{i = 0}^{k}{{Wi}*{{Ti}.}}}$

It is noted that different modulation schemes, such as different QAMschemes (QAM-4, QAM-16, QAM-64) employ different “alphabets” torepresent the x symbols of the scheme. For example, QAM-4 has fourdifferent symbols, QAM-16 has sixteen different symbols and QAM-64 hassixty-four different symbols. In addition, different modulation schemesmay have different gains that are applied to the symbols fortransmission due to varying back-off requirements. In prior art variablemodulation systems when the modulation scheme changes, the memory of theFIR filter is not normally reset while the weights W0 to Wk areinstantly changed to weights optimized for the modulation scheme orsymbols of the scheme to prevent spectrum spillage.

This solution is not ideal, however, because the weights are then notoptimized for the symbols in the memory (taps 62) of the filter thatcorrespond to the previous modulation scheme or rate. One solution is toemploy one set of weights for all modulation schemes. This solution isalso not ideal, however, since the FIR filter is then not optimized forthe alphabet of symbols for each modulation scheme. To prevent spectrumspillage and optimize the FIR filter 60, the present invention changesthe filter taps sequentially with each new symbol from the newmodulation scheme as shown in FIGS. 8A to 8F. In particular, the weightthat corresponds to the first new symbol of a new modulation scheme ismodified as the first new symbol propagates through the filter 60. InFIG. 8A, the filter weights W0 to Wk are optimized for the modulationscheme of the symbols currently being processed by the FIR filter 60. InFIG. 8B, the first symbol of a new modulation scheme is received in T0of the FIR filter 60. At this point as shown in FIG. 8B, the presentinvention replaces the filter weight, W0 associated with T0 with a newfilter weight W0′ where W0′ is optimized for the modulation scheme ofthe first new symbol stored in T0. Then, when the next symbol from thenew modulation scheme is received and stored in T0 and the first newsymbol is shifted to T1, the present invention replaces the filterweight, associated with T1 with a new filter weight W1′ where W1′ isalso optimized for the new modulation scheme as shown in FIG. 8C. Thisprocess is repeated as shown in FIGS. 8D to 8F until all the symbolsstored in the taps 62 the FIR filter 60 belong to the new modulationscheme and all the filter weights W0 to Wk are associated with oroptimized for the new modulation scheme. This technique reduces spectrumspillage while optimizing the weights employed in the FIR filter 60 toshape the symbols or varying modulation schemes.

Accordingly, it is to be understood that the invention is not to belimited by the specific illustrated embodiment, but only by the scope ofthe appended claims.

1. A method for transmitting a data frame between a base station and aplurality of subscriber units over a wireless link, comprising:determining the least complex modulation scheme supported by each of theplurality of subscriber units; identifying a least complex modulationscheme supported by all subscriber units of the plurality of subscriberunits; modulating control information to be transmitted to the pluralityof subscriber units using the identified least complex modulation schemesupported by all subscriber units; and transmitting the modulatedcontrol information from the base station to the plurality of subscriberunits in a current downlink frame over the wireless link.
 2. A method asclaimed in claim 1, further comprising identifying the least complexmodulation scheme supported by all subscriber units of the plurality ofsubscriber units based on the capabilities of the subscriber units.
 3. Amethod as claimed in claim 1, further comprising: allocating a datablock to one or more subscriber units for transmission based on one ormore traffic parameters; and adjusting the encoding scheme used for thedata block by selecting a number L of downlink data bits to be parsedinto the respective data block such that a ratio Z between the number ofsymbols in the entire data frame and the number S of symbols in datablock is an integer.
 4. A method as claimed in claim 3, wherein thetraffic parameters include a data path quality parameter measured for adata path established between the base station and each subscriber unit.5. A method as claimed in claim 3, wherein encoding the data in the datablock comprises adding a number x of error correction bits to a numberLd of user data bits.
 6. A method as claimed in claim 5, whereinencoding the data in the data block further comprises modulating theLd+x data bits using a modulation scheme selected for the respectivedata block.
 7. A method as claimed in claim 5, wherein a maximum bit persymbol rate of the modulation scheme (Bi) for the modulation scheme isselected based upon a specified error rate for the transmitted data. 8.A method as claimed in claim 7, wherein Bi is selected as a function ofchannel interference and implementation complexity of the subscriberunit.
 9. A method as claimed in claim 4, wherein encoding the data inthe data block includes adding forward error correction (FEC)information.
 10. A method as claimed in claim 9, wherein encoding thedata in the data block further includes interleaving convolutionallyencoded data to the user data prior to FEC encoding.
 11. A method asclaimed in claim 1, further comprising: providing an unreserved uplinkdata block for enabling any of the subscriber units to transmit uplinkdata to the base station; and modulating the data transmitted by any ofthe plurality of subscriber units in the unreserved uplink data blockusing the identified least complex modulation scheme supported by allsubscriber units.
 12. A method for wireless transmission between a basestation and a plurality of subscriber units, comprising: identifying aleast complex modulation scheme available to all of a plurality ofsubscriber units; modulating control information to be transmitted tothe plurality of subscriber units using the identified least complexmodulation scheme available to all of the plurality of subscriber units;and transmitting the modulated control information from the base stationto the plurality of subscriber units in a current downlink frame overthe wireless link.
 13. A method as claimed in claim 12, furthercomprising identifying the least complex modulation scheme available toall of the plurality of subscriber units based on the capabilities ofthe subscriber units.
 14. A method as claimed in claim 12, furthercomprising: selecting Ld data bits for transmission to a subscriber unitof the plurality of subscriber units; and adjusting the encoding schemefor the Ld data bits by selecting a number L of downlink data bitsincluding the Ld data bits to be parsed into the respective data suchthat a ratio Z between the number of symbols in the entire data frameand the number of symbols in for the data L is an integer.
 15. A methodas claimed in claim 14, further comprising adding a number x of errorcorrection bits to the Ld data bits.